package src.object;

public class Demo {
    public static void main(String[] args) {
        Point p = new Point(1,2);
        /*
            Object定义了一个方法:String toString()
            该方法是将当前对象转换为一个字符串。Object实现该方法时返回的字符串为当前
            对象的地址信息，实际开发中意义不大。
            因此该方法经常被子类重写。
         */
        String str = p.toString();
        System.out.println(str);//输出的是当前Point对象的地址信息
        /*
            toString常见的使用场景
            //1输出对象信息时
            System.out.println(p)
            输出的就是p的toString方法返回的字符串
         */
        System.out.println(p);

        /*
            //2字符串连接操作时
            字符串与其它类型连接时，会将其它类型转换为String后再连接
            其它类型转换为String时就依靠的toString方法
         */
        String line = "hello" + p;
        System.out.println(line);



        Point p2 = new Point(1,2);
        System.out.println(p2);
        //==是值比较，对于引用类型变量而言就是比地址，因此除非是同一个对象，否则比较为false
        System.out.println(p==p2);//false

        /*
            equals是比较内容，只要两个对象内容相同就应当为true
            注:Object本身提供的该方法内部仍然用==比较，因此子类不重写该方法则没有意义！
         */
        boolean equals = p.equals(p2);
        System.out.println(equals);//true

    }
}
